package com.yuantong.xyerp.core.api.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.sql.Timestamp;

/**
 * @author czg
 * @date 2021/7/1
 */
@Data
@ApiModel("附件")
public class Attachment implements Serializable {
    /**
     * 附件UUID
     */
    @ApiModelProperty("附件的UUID")
    private String id;
    /**
     * 附件所属对象UUID
     */
    @ApiModelProperty("附件所属物主的UUID，物主可以是任意一个对象")
    private String masterId;
    /**
     * 附件名（与文件名意义不同）
     */
    @ApiModelProperty("附件名")
    private String name;
    /**
     * 附件上传时的文件名
     */
    @ApiModelProperty("附件文件名")
    private String fileName;

    /**
     * 附件文件类型
     */
    @ApiModelProperty("附件文件类型")
    private String contentType;
    /**
     * 附件在服务器上的保存路径
     */
    @JsonIgnore
    private String filePath;
    /**
     * 附件文件大小
     */
    @ApiModelProperty("附件大小，单位：字节")
    private Long fileSize;

    /**
     * 附件后缀名
     */
    @ApiModelProperty("附件后缀")
    private String suffix;
    /**
     * 附件上传时间
     */
    @ApiModelProperty("附件上传时间")
    private Timestamp uploadTime;
    /**
     * 附件上传者的UUID
     */
    @ApiModelProperty("上传者UUID，可空")
    private String uploaderId;
    /**
     * 附件的md5指纹
     */
    @ApiModelProperty("附件的MD5指纹")
    private String md5Value;
    /**
     * 附件的sha1指纹
     */
    @ApiModelProperty("附件的sha1指纹")
    private String sha1Value;
}
